package com.itheima02.day08test;

import java.util.ArrayList;

/**
 * @author 刘全
 * @date 2021/7/24
 */
public class Test4 {
    public static void main(String[] args) {
        /*1.定义Student类
        属性:
        姓名：String name
        年龄：int age
        成绩：int score
        行为:
        空参构造方法
        有参构造方法
        set和get方法
        2.定义测试类,进行测试
        (1)创建5个学生对象存入ArrayList集合中
        (2)打印最高分的学员姓名、年龄、成绩  [要求封装1个方法  参数是集合对象   返回值类型为Student]
        (3)打印5个学生的总成绩和平均分		 [要求封装一个方法完成]
        (4)打印不及格的学员信息及数量		 [要求封装一个方法完成]*/
        ArrayList<Student> list = new ArrayList<>();
        Student stu1 = new Student("憨丕", 23, 38);
        Student stu2 = new Student("武儿", 22, 59);
        Student stu3 = new Student("帅全", 22, 100);
        Student stu4 = new Student("涛儿", 23, 55);
        Student stu5 = new Student("李四", 24, 66);
        list.add(stu1);
        list.add(stu2);
        list.add(stu3);
        list.add(stu4);
        list.add(stu5);
        //打印最高分的学员姓名、年龄、成绩
        Student stuMax = max(list);
        System.out.println(stuMax.toString());
        //打印5个学生的总成绩和平均分
        printSum(list);
        //打印不及格的学员信息及数量
        printExam(list);
    }

    private static void printExam(ArrayList<Student> list) {
        int count = 0;
        System.out.println("不及格的学员信息为:");
        for (Student stu : list) {
            if (stu.getScore() < 60) {
                System.out.println(stu.toString());
                count++;
            }
        }
        System.out.println("不及格的学员有"+count+"个");
    }

    private static void printSum(ArrayList<Student> list) {
        int sum = 0;
        for (Student stu : list) {
            sum += stu.getScore();
        }
        System.out.println("总分为:" + sum);
        System.out.println("平均分为:" + sum / list.size());
    }

    private static Student max(ArrayList<Student> list) {
        Student max = list.get(0);
        for (Student stu : list) {
            if (max.getScore() < stu.getScore()) {
                max = stu;
            }
        }
        return max;
    }
}
